使用APICloud开发App分享图片到微信功能
在项目中添加wx模块,调用shareImage方法,实现分享功能。官方文档

官方示例代码:

var wx = api.require('wx');
wx.shareImage({
    apiKey: '', // 可选项)从微信开放平台获取的 appid,若不传则从当前 widget 的 config.xml 中读取。
    scene: 'session', // ['session', 'timeline', 'favorite'](会话,朋友圈,收藏)默认朋友圈。
    thumb: 'widget://a.jpg', // 缩略图片的地址,支持 fs://、widget:// 协议。大小不能超过32K,若 contentUrl 为本地图片地址则本参数忽略,需要路径包含图片格式后缀,否则如果原图片为非png格式,会分享失败
    contentUrl: 'widget://b.jpg' // 分享图片的 url 地址(支持 fs://、widget://),长度不能超过10M
}, function(ret, err) {
    if (ret.status) {
        alert('分享成功');
    } else {
        alert(err.code);
    }
});

项目代码:

function shareImg () {
    var wx = require('wx');
    // 首先先将图片下载到本地
    api.download({
        url: 'http://xxx.xxx.xxx/xx.jpg', // 图片地址
        savePath: 'fs://xxx/xxx.jpg', // 图片存储路径
        report: true,
        cache: true,
        allowResume: true
    }, function(res, err) {
        if (ret.state == 1) {
            console.log('下载成功')
            wx.shareImage({
                // apiKey: '',
                scene: 'session',
                thumb: 'widget://xxx.xxx.jpg', // 不知道为什么这里使用fs:// 死活都有问题,无法分享
                contentUrl: 'fs://xxx.xxx.jpg'
            }, function(ret, err){
                if (ret.status) {
                    alert('分享成功')
                } else {
                    alert(err.code)
                }
            })
        } else {
            console.log('下载失败')
            console.log(err)
        }
    })
}

冷露
77 声望0 粉丝